
package com.insigma.business.qrcode.common.converter;


import com.insigma.business.qrcode.soldier.dto.SoldierMessageInfoBSearcher;
import com.insigma.business.qrcode.soldier.dto.SoldierMessageInfoDTO;
import com.insigma.business.qrcode.soldier.dto.SoldierMessageInfoUpdateRequest;
import com.insigma.business.qrcode.soldier.entity.SoldierMessageInfoDO;
import com.insigma.business.qrcode.soldier.request.SoldierMessageInfoInsertRequest;
import com.insigma.business.qrcode.soldier.request.SoldierMessageInfoSearchRequest;
import org.springframework.beans.BeanUtils;

import java.util.List;


public class SoldierMessageInfoProviderConverter extends AbstractConverter<SoldierMessageInfoDTO, SoldierMessageInfoDO> {

    private final static SoldierMessageInfoProviderConverter soldierMessageInfoConverter = new SoldierMessageInfoProviderConverter();

    private SoldierMessageInfoProviderConverter(){}

    
    public static SoldierMessageInfoBSearcher convertRequestSO2Searcher(final SoldierMessageInfoSearchRequest request){
        final SoldierMessageInfoBSearcher soldierMessageInfoBSearcher = new SoldierMessageInfoBSearcher(request.getPageNo(),
        request.getPageSize(),request.getSortKeyValueJoint());
        BeanUtils.copyProperties(request,soldierMessageInfoBSearcher);
        return soldierMessageInfoBSearcher;
    }

    
    public static SoldierMessageInfoDO convertRequestUO2DO(final SoldierMessageInfoUpdateRequest soldierMessageInfoUpdateRequest) {
        final SoldierMessageInfoDO soldierMessageInfoDO = new SoldierMessageInfoDO();
        BeanUtils.copyProperties(soldierMessageInfoUpdateRequest,soldierMessageInfoDO);
        
        return soldierMessageInfoDO;
    }

    
    public static SoldierMessageInfoDO convertRequestIO2DO(final SoldierMessageInfoInsertRequest soldierMessageInfoInsertRequest) {
        final SoldierMessageInfoDO soldierMessageInfoDO = new SoldierMessageInfoDO();
        BeanUtils.copyProperties(soldierMessageInfoInsertRequest,soldierMessageInfoDO);
        return soldierMessageInfoDO;
    }

    
    public static List<SoldierMessageInfoDTO> convertResponseDOList2DTOList(final List<SoldierMessageInfoDO> soldierMessageInfoDOList){
        return soldierMessageInfoConverter.convertGenericResponseDOList2DTOList(soldierMessageInfoDOList);
    }

    
    public static SoldierMessageInfoDTO convertResponseDO2DTO(final SoldierMessageInfoDO soldierMessageInfoDO){
        return soldierMessageInfoConverter.convertGenericResponseDO2DTO(soldierMessageInfoDO);
    }

    
    @Override
    protected SoldierMessageInfoDTO doConvertResponseDO2DTO(SoldierMessageInfoDO soldierMessageInfoDO) {
        final SoldierMessageInfoDTO soldierMessageInfoDTO = new SoldierMessageInfoDTO();
        try {
            BeanUtils.copyProperties(soldierMessageInfoDO, soldierMessageInfoDTO);
        }catch(RuntimeException be){
            
            return null;
        }
        return soldierMessageInfoDTO;
    }

}
